﻿/* --- Right Column: Query Form --- */
.contact-form h2 {
    margin-bottom: 20px;
    color: #333;
    font-size: 28px;
    border-bottom: 2px solid #0056b3;
    display: inline-block;
    padding-bottom: 5px;
}

.form-group {
    margin-bottom: 20px;
}

    .form-group label {
        display: block;
        margin-bottom: 8px;
        font-weight: 600;
        color: #444;
    }

    .form-group input,
    .form-group textarea {
        width: 100%;
        padding: 12px;
        border: 1px solid #ccc;
        border-radius: 5px;
        font-size: 16px;
        transition: border-color 0.3s;
    }

        .form-group input:focus,
        .form-group textarea:focus {
            border-color: #0056b3;
            outline: none;
        }

    .form-group textarea {
        height: 150px;
        resize: vertical;
    }

.submit-btn {
    background-color: #0056b3;
    color: white;
    border: none;
    padding: 12px 30px;
    font-size: 18px;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s;
    width: 100%;
}

    .submit-btn:hover {
        background-color: #004494;
    }

/* Responsive Design */
@media (max-width: 768px) {
    .contact-wrapper {
        grid-template-columns: 1fr; /* Stack columns on mobile */
        padding: 20px;
    }
}

.form-container {
    max-width: 500px;
    margin: 0 auto;
    background-color: white;
    padding: 30px;
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.form-header {
    text-align: left;
    margin-bottom: 30px;
}

    .form-header h2 {
        color: #333;
        font-weight: 700;
    }

.form-group {
    margin-bottom: 20px;
}

.control-label {
    font-weight: 600;
    color: #555;
}

.form-control {
    border-radius: 5px;
    border: 1px solid #ddd;
    padding: 12px;
    transition: border-color 0.3s;
}

    .form-control:focus {
        border-color: #4e73df;
        box-shadow: 0 0 0 0.2rem rgba(78, 115, 223, 0.25);
    }

.btn-primary {
    background-color: #4e73df;
    border-color: #4e73df;
    font-weight: 600;
    padding: 12px 20px;
    transition: all 0.3s;
}

    .btn-primary:hover {
        background-color: #000;
        border-color: #2653d4;
        transform: translateY(-2px);
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    }

/* Notification Popup Styles */
.notification-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s, visibility 0.3s;
}

    .notification-overlay.show {
        opacity: 1;
        visibility: visible;
    }

.notification-popup {
    background-color: white;
    padding: 40px;
    border-radius: 10px;
    max-width: 500px;
    width: 90%;
    text-align: center;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
    transform: scale(0.7);
    transition: transform 0.3s;
}

.notification-overlay.show .notification-popup {
    transform: scale(1);
}

.notification-icon {
    font-size: 60px;
    color: #28a745;
    margin-bottom: 20px;
}

.notification-title {
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 15px;
    color: #333;
}

.notification-message {
    font-size: 16px;
    color: #666;
    margin-bottom: 25px;
}

.close-notification {
    background-color: #4e73df;
    color: white;
    border: none;
    padding: 12px 25px;
    border-radius: 5px;
    cursor: pointer;
    font-weight: 600;
    transition: background-color 0.3s;
}

    .close-notification:hover {
        background-color: #2e59d9;
    }

.loading-spinner {
    display: none;
    width: 20px;
    height: 20px;
    border: 3px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    border-top-color: #fff;
    animation: spin 1s ease-in-out infinite;
    margin-right: 10px;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

.required-field {
    color: #e74a3b;
}

table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
}

th, td {
    border: 1px solid #ddd;
    padding: 12px;
    text-align: left;
}

th {
    background-color: #f2f2f2;
    font-weight: bold;
}

.additional-info {
    margin-top: 30px;
}

.info-item {
    margin-bottom: 10px;
    color: #000;
}
:root {
    --purple: #7C5FA8;
    --purple-d: #5E4585;
    --amber: #E9A23B;
    --amber-d: #C9862A;
    --red: #D9532F;
    --red-d: #B8431F;
    --green: #3EA24B;
    --green-d: #2E7F39;
    --blue: #2E6FA8;
    --blue-d: #1F4F7A;
    --orange: #E8872F;
    --silver: #A9B2BA;
    --black: #0D0E10;
    --dark: #14161A;
    --dark-3: #272B33;
    --light: #F6F5F2;
    --white: #fff;
    --text: #2A2E33;
    --muted: #6B7280;
    --grad-orange: linear-gradient(135deg,#E8872F 0%,#D9532F 100%);
    --grad-blue: linear-gradient(135deg,#2E6FA8 0%,#1F4F7A 100%);
    --grad-dark: linear-gradient(135deg,#14161A 0%,#272B33 100%);
    --shadow: 0 15px 40px rgba(13,14,16,.12);
}

/* ---------- PAGE BANNER ---------- */
.page-banner {
    position: relative;
    padding: 110px 0 80px;
    background: var(--grad-dark);
    text-align: center;
    overflow: hidden
}

    .page-banner::before {
        content: "";
        position: absolute;
        inset: 0;
        opacity: .35;
        background: radial-gradient(circle at 15% 25%,rgba(233,162,59,.55),transparent 45%), radial-gradient(circle at 85% 80%,rgba(46,111,168,.55),transparent 45%)
    }

    .page-banner .container {
        position: relative;
        z-index: 2
    }

.pb-tag {
    display: inline-block;
    background: rgba(233,162,59,.15);
    border: 1px solid rgba(233,162,59,.5);
    color: var(--amber);
    padding: 6px 18px;
    border-radius: 50px;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    margin-bottom: 16px
}

.page-banner h1 {
    color: #fff;
    font-size: clamp(2.1rem,4.5vw,3.2rem);
    font-weight: 800;
    margin-bottom: 10px
}

    .page-banner h1 span {
        color: transparent;
        background: linear-gradient(90deg,var(--orange),var(--amber));
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent
    }

.breadcrumb {
    color: var(--silver);
    font-size: .88rem
}

    .breadcrumb a {
        color: var(--amber);
        font-weight: 500
    }

        .breadcrumb a:hover {
            color: #fff
        }

    .breadcrumb i {
        font-style: normal;
        margin: 0 8px;
        color: var(--orange)
    }

    .breadcrumb .current {
        color: #fff
    }

/* ---------- INTRO ---------- */
.pb-intro {
    background: #fff;
    padding: 95px 0
}

.pb-grid {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    gap: 64px;
    align-items: center
}

.pb-content h2 {
    font-size: clamp(1.7rem,3vw,2.4rem);
    line-height: 1.25;
    margin-bottom: 20px
}

    .pb-content h2 span {
        color: var(--blue)
    }

.pb-content p {
    color: var(--muted);
    font-size: .95rem;
    margin-bottom: 15px
}

.pb-content strong {
    color: var(--text)
}

.pb-chips {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
    padding: 0
}

    .pb-chips li {
        padding: 9px 18px;
        border-radius: 50px;
        font-size: .82rem;
        font-weight: 600
    }

.ch-blue {
    background: rgba(46,111,168,.1);
    color: var(--blue)
}

.ch-orange {
    background: rgba(232,135,47,.12);
    color: var(--orange)
}

.ch-purple {
    background: rgba(124,95,168,.1);
    color: var(--purple)
}

.ch-green {
    background: rgba(62,162,75,.1);
    color: var(--green)
}

.pb-visual {
    position: relative
}

    .pb-visual::before {
        content: "";
        position: absolute;
        top: -20px;
        left: -20px;
        width: 58%;
        height: 58%;
        border-radius: 24px;
        border: 3px solid var(--amber);
        z-index: 1
    }

    .pb-visual::after {
        content: "";
        position: absolute;
        bottom: -20px;
        right: -20px;
        width: 58%;
        height: 58%;
        border-radius: 24px;
        border: 3px solid var(--blue);
        z-index: 1
    }

.pb-img-frame {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: var(--shadow);
    z-index: 2
}

    .pb-img-frame svg {
        width: 100%;
        height: auto;
        display: block
    }

.pb-badge {
    position: absolute;
    bottom: -24px;
    left: 30px;
    z-index: 3;
    background: var(--grad-orange);
    color: #fff;
    padding: 20px 26px;
    border-radius: 16px;
    text-align: center;
    box-shadow: 0 15px 35px rgba(217,83,47,.4)
}

    .pb-badge strong {
        font-family: 'Oswald',sans-serif;
        font-size: 2rem;
        display: block;
        line-height: 1
    }

    .pb-badge span {
        font-size: .7rem;
        letter-spacing: 1.5px;
        text-transform: uppercase
    }

/* ---------- KEY BENEFITS ---------- */
.pb-benefits {
    background: var(--light);
    padding: 85px 0
}

.feat-card {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 36px;
    background: #fff;
    border-radius: 22px;
    padding: 38px;
    box-shadow: var(--shadow);
    margin-bottom: 30px;
    border-left: 5px solid var(--blue);
    position: relative;
    overflow: hidden
}

    .feat-card::after {
        content: "";
        position: absolute;
        right: -70px;
        bottom: -70px;
        width: 220px;
        height: 220px;
        border-radius: 50%;
        background: radial-gradient(circle,rgba(46,111,168,.1),transparent 70%)
    }

.feat-left {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    text-align: center
}

.feat-icon {
    width: 92px;
    height: 92px;
    border-radius: 24px;
    background: rgba(46,111,168,.1);
    display: flex;
    align-items: center;
    justify-content: center
}

    .feat-icon svg {
        width: 46px;
        height: 46px;
        fill: var(--blue)
    }

.feat-ribbon {
    background: var(--grad-blue);
    color: #fff;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 7px 16px;
    border-radius: 50px
}

.feat-body h3 {
    font-size: 1.35rem;
    color: var(--blue);
    margin-bottom: 12px
}

.feat-body p {
    color: var(--muted);
    font-size: .93rem;
    margin-bottom: 14px
}

.feat-body strong {
    color: var(--text)
}

.feat-list {
    list-style: none;
    padding: 0;
    display: grid;
    gap: 9px
}

    .feat-list li {
        position: relative;
        padding-left: 30px;
        font-size: .88rem;
        font-weight: 500
    }

        .feat-list li::before {
            content: "✔";
            position: absolute;
            left: 0;
            top: 2px;
            width: 20px;
            height: 20px;
            background: rgba(46,111,168,.12);
            color: var(--blue);
            border-radius: 6px;
            font-size: .68rem;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: 700
        }

.ben-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(215px,1fr));
    gap: 20px
}

.ben-card {
    background: #fff;
    border-radius: 16px;
    padding: 28px 22px;
    text-align: center;
    box-shadow: 0 8px 24px rgba(13,14,16,.07);
    border-bottom: 4px solid transparent;
    transition: .35s
}

    .ben-card:hover {
        transform: translateY(-8px);
        box-shadow: var(--shadow)
    }

.ben-ico {
    width: 60px;
    height: 60px;
    margin: 0 auto 14px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center
}

    .ben-ico svg {
        width: 30px;
        height: 30px;
        fill: none;
        stroke-width: 1.8;
        stroke-linecap: round;
        stroke-linejoin: round
    }

.ben-card h3 {
    font-size: .95rem;
    margin-bottom: 7px
}

.ben-card p {
    font-size: .8rem;
    color: var(--muted)
}

.b-green .ben-ico {
    background: rgba(62,162,75,.12)
}

    .b-green .ben-ico svg {
        stroke: var(--green)
    }

.b-green:hover {
    border-bottom-color: var(--green)
}

.b-green h3 {
    color: var(--green-d)
}

.b-red .ben-ico {
    background: rgba(217,83,47,.1)
}

    .b-red .ben-ico svg {
        stroke: var(--red)
    }

.b-red:hover {
    border-bottom-color: var(--red)
}

.b-red h3 {
    color: var(--red-d)
}

.b-amber .ben-ico {
    background: rgba(233,162,59,.14)
}

    .b-amber .ben-ico svg {
        stroke: var(--amber-d)
    }

.b-amber:hover {
    border-bottom-color: var(--amber)
}

.b-amber h3 {
    color: var(--amber-d)
}

.b-purple .ben-ico {
    background: rgba(124,95,168,.1)
}

    .b-purple .ben-ico svg {
        stroke: var(--purple)
    }

.b-purple:hover {
    border-bottom-color: var(--purple)
}

.b-purple h3 {
    color: var(--purple-d)
}

.b-blue .ben-ico {
    background: rgba(46,111,168,.1)
}

    .b-blue .ben-ico svg {
        stroke: var(--blue)
    }

.b-blue:hover {
    border-bottom-color: var(--blue)
}

.b-blue h3 {
    color: var(--blue-d)
}

/* ---------- TYPES ---------- */
.pb-types {
    background: #fff;
    padding: 85px 0
}

.type-block {
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 52px;
    align-items: center;
    padding: 44px 0;
    border-bottom: 1px dashed #E4E1DB
}

    .type-block:last-child {
        border-bottom: none
    }

.tb-rev .type-text {
    order: 2
}

.tb-rev .gallery {
    order: 1
}

.type-tag {
    display: inline-block;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    padding: 7px 18px;
    border-radius: 50px;
    margin-bottom: 14px
}

.t-amber {
    background: rgba(233,162,59,.14);
    color: var(--amber-d)
}

.t-blue {
    background: rgba(46,111,168,.1);
    color: var(--blue)
}

.t-red {
    background: rgba(217,83,47,.1);
    color: var(--red)
}

.type-text h3 {
    font-size: 1.35rem;
    margin-bottom: 14px
}

.type-text p {
    color: var(--muted);
    font-size: .93rem;
    margin-bottom: 12px
}

.type-text strong {
    color: var(--text)
}

.type-points {
    list-style: none;
    padding: 0;
    margin-top: 16px;
    display: grid;
    gap: 9px
}

    .type-points li {
        position: relative;
        padding-left: 30px;
        font-size: .88rem;
        font-weight: 500
    }

        .type-points li::before {
            content: "›";
            position: absolute;
            left: 0;
            top: -2px;
            width: 20px;
            height: 20px;
            background: var(--grad-orange);
            color: #fff;
            border-radius: 6px;
            font-size: .8rem;
            font-weight: 700;
            display: flex;
            align-items: center;
            justify-content: center
        }

/* ---------- GALLERY / CAROUSEL ---------- */
.gallery {
    position: relative;
    background: var(--grad-dark);
    border-radius: 20px;
    overflow: hidden;
    box-shadow: var(--shadow)
}

.g-viewport {
    overflow: hidden
}

.g-track {
    display: flex;
    transition: transform .55s cubic-bezier(.4,0,.2,1)
}

.g-slide {
    min-width: 100%;
    margin: 0;
    background: linear-gradient(135deg,#272B33,#14161A);
    display: flex;
    flex-direction: column
}

    .g-slide svg {
        width: 100%;
        height: 280px;
        display: block;
        padding: 24px 24px 0;
        box-sizing: border-box
    }

    .g-slide figcaption {
        color: var(--silver);
        font-size: .82rem;
        text-align: center;
        padding: 14px 16px 20px;
        font-weight: 500;
        letter-spacing: .5px
    }

.g-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: none;
    background: rgba(255,255,255,.12);
    color: #fff;
    font-size: 1.5rem;
    cursor: pointer;
    transition: .3s;
    backdrop-filter: blur(4px);
    line-height: 1;
    z-index: 3
}

    .g-btn:hover {
        background: var(--orange)
    }

.g-prev {
    left: 14px
}

.g-next {
    right: 14px
}

.g-dots {
    position: absolute;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 8px;
    z-index: 3
}

    .g-dots button {
        width: 9px;
        height: 9px;
        border-radius: 50%;
        border: 2px solid var(--amber);
        background: transparent;
        cursor: pointer;
        padding: 0;
        transition: .3s
    }

        .g-dots button.active {
            background: var(--amber);
            width: 26px;
            border-radius: 12px
        }

/* ---------- CTA ---------- */
.pb-cta {
    background: var(--light);
    padding: 70px 0 85px
}

.cta-card {
    max-width: 820px;
    margin: auto;
    background: #fff;
    border-radius: 24px;
    padding: 50px 44px;
    text-align: center;
    box-shadow: var(--shadow);
    border-top: 5px solid var(--orange);
    position: relative;
    overflow: hidden
}

    .cta-card::before {
        content: "";
        position: absolute;
        top: -90px;
        right: -90px;
        width: 230px;
        height: 230px;
        border-radius: 50%;
        background: radial-gradient(circle,rgba(232,135,47,.13),transparent 70%)
    }

.cta-flag {
    display: inline-block;
    background: #FDF1E3;
    color: var(--red-d);
    font-weight: 700;
    font-size: .72rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 8px 20px;
    border-radius: 50px;
    margin-bottom: 16px
}

.cta-card h2 {
    font-size: clamp(1.6rem,3vw,2.2rem);
    margin-bottom: 12px
}

.cta-card > p:not(.cta-note) {
    color: var(--muted);
    max-width: 560px;
    margin: 0 auto 26px;
    font-size: .93rem
}

.cta-btns {
    display: flex;
    justify-content: center;
    gap: 14px;
    flex-wrap: wrap;
    margin-bottom: 20px
}

.btn-c {
    display: inline-block;
    padding: 15px 32px;
    border-radius: 50px;
    font-weight: 600;
    font-size: .95rem;
    text-decoration: none;
    transition: .3s
}

.btn-c-orange {
    background: var(--grad-orange);
    color: #fff;
    box-shadow: 0 10px 26px rgba(217,83,47,.4)
}

    .btn-c-orange:hover {
        transform: translateY(-3px)
    }

.btn-c-dark {
    border: 2px solid var(--dark);
    color: var(--dark)
}

    .btn-c-dark:hover {
        background: var(--dark);
        color: #fff;
        transform: translateY(-3px)
    }

.btn-c-green {
    background: linear-gradient(135deg,var(--green),var(--green-d));
    color: #fff;
    box-shadow: 0 10px 26px rgba(62,162,75,.35)
}

    .btn-c-green:hover {
        transform: translateY(-3px)
    }

.cta-note {
    font-size: .78rem;
    color: var(--muted);
    margin: 0
}

/* ---------- REVEAL ---------- */
.reveal {
    opacity: 0;
    transform: translateY(32px);
    transition: opacity .7s ease,transform .7s ease
}

    .reveal.in-view {
        opacity: 1;
        transform: none
    }

    .reveal.d1 {
        transition-delay: .15s
    }

    .reveal.d2 {
        transition-delay: .3s
    }

/* ---------- RESPONSIVE ---------- */
@media(max-width:992px) {
    .pb-grid {
        grid-template-columns: 1fr;
        gap: 56px
    }

    .type-block {
        grid-template-columns: 1fr;
        gap: 34px
    }

    .tb-rev .type-text {
        order: 1
    }

    .tb-rev .gallery {
        order: 2
    }

    .feat-card {
        grid-template-columns: 1fr;
        gap: 24px
    }

    .feat-left {
        flex-direction: row;
        justify-content: flex-start;
        text-align: left
    }
}

@media(max-width:600px) {
    .pb-intro, .pb-benefits, .pb-types {
        padding: 60px 0
    }

    .feat-card {
        padding: 28px 22px
    }

    .cta-card {
        padding: 38px 22px
    }

    .g-slide svg {
        height: 210px
    }

    .pb-chips li {
        font-size: .75rem;
        padding: 8px 14px
    }
}
/* ============================================================
   VIBHA INTERNATIONAL — copper.css (Copper Brazing page)
   Extends product.css · logo color system
============================================================ */

/* ---------- TYPE PICK CARDS (intro) ---------- */
.type-pick {
    margin-top: 26px
}

    .type-pick p {
        margin-bottom: 12px !important
    }

.tp-btns {
    display: flex;
    gap: 14px;
    flex-wrap: wrap
}

.tp {
    flex: 1;
    min-width: 180px;
    display: flex;
    flex-direction: column;
    padding: 18px 22px;
    border-radius: 14px;
    text-decoration: none;
    font-family: 'Oswald',sans-serif;
    font-size: 1.25rem;
    font-weight: 600;
    letter-spacing: 1px;
    transition: .3s;
    border: 2px solid transparent
}

    .tp small {
        font-family: 'Poppins',sans-serif;
        font-size: .74rem;
        font-weight: 500;
        letter-spacing: .5px;
        text-transform: none;
        margin-top: 3px
    }

.tp-orange {
    background: rgba(232,135,47,.1);
    color: var(--orange);
    border-color: rgba(232,135,47,.35)
}

    .tp-orange:hover {
        background: var(--grad-orange);
        color: #fff;
        transform: translateY(-4px)
    }

.tp-blue {
    background: rgba(46,111,168,.08);
    color: var(--blue);
    border-color: rgba(46,111,168,.3)
}

    .tp-blue:hover {
        background: var(--grad-blue);
        color: #fff;
        transform: translateY(-4px)
    }

/* ---------- TYPE TAG variant ---------- */
.t-orange {
    background: rgba(232,135,47,.13);
    color: var(--orange)
}

/* ---------- PRODUCT FIGURE ---------- */
.type-fig {
    display: flex;
    flex-direction: column;
    gap: 10px
}

    .type-fig svg {
        width: 100%;
        height: auto;
        border-radius: 18px;
        box-shadow: var(--shadow);
        display: block
    }

.fig-cap {
    font-size: .8rem;
    color: var(--muted);
    text-align: center;
    font-weight: 500
}

/* ---------- SPEC TABLES ---------- */
.spec {
    background: #fff;
    border-radius: 20px;
    box-shadow: var(--shadow);
    padding: 32px;
    margin: 36px 0 10px;
    border-top: 4px solid var(--blue)
}

#bag .spec {
    border-top-color: var(--purple)
}

.spec-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
    margin-bottom: 20px
}

    .spec-head h3 {
        font-size: 1.15rem;
        color: var(--blue)
    }

#bag .spec-head h3 {
    color: var(--purple)
}

.spec-filter {
    padding: 11px 16px;
    border: 1.5px solid #E4E1DB;
    border-radius: 50px;
    font-family: 'Poppins',sans-serif;
    font-size: .84rem;
    background: var(--light);
    min-width: 260px;
    transition: .3s
}

    .spec-filter:focus {
        outline: none;
        border-color: var(--blue);
        background: #fff;
        box-shadow: 0 0 0 4px rgba(46,111,168,.12)
    }

.table-scroll {
    overflow-x: auto;
    border: 1.5px solid #E8E6E1;
    border-radius: 14px;
    -webkit-overflow-scrolling: touch
}

.data-table {
    width: 100%;
    border-collapse: collapse;
    font-size: .84rem;
    min-width: 760px
}

    .data-table thead th {
        background: var(--grad-dark);
        color: #fff;
        font-family: 'Oswald',sans-serif;
        font-weight: 500;
        letter-spacing: .8px;
        padding: 12px 14px;
        text-align: center;
        position: sticky;
        top: 0;
        z-index: 2;
        white-space: nowrap
    }

    .data-table thead tr:nth-child(2) th {
        top: 45px
    }
    /* second header row sticky offset */
    .data-table thead th.grp {
        background: var(--blue);
        font-size: .78rem;
        letter-spacing: 1.5px;
        text-transform: uppercase
    }

#bag .data-table thead th.grp {
    background: var(--purple)
}

.data-table tbody td {
    padding: 10px 14px;
    text-align: center;
    border-bottom: 1px solid #F0EDE8;
    color: var(--text);
    white-space: nowrap
}

    .data-table tbody td:first-child {
        font-weight: 600;
        color: var(--blue-d);
        text-align: left;
        position: sticky;
        left: 0;
        background: #fff;
        z-index: 1
    }

#bag .data-table tbody td:first-child {
    color: var(--purple-d)
}

.data-table tbody tr:nth-child(even) {
    background: var(--light)
}

    .data-table tbody tr:nth-child(even) td:first-child {
        background: var(--light)
    }

.data-table tbody tr:hover {
    background: #FDF3E7
}

    .data-table tbody tr:hover td:first-child {
        background: #FDF3E7
    }

.data-table tbody tr.hidden-row {
    display: none
}

.spec-empty {
    margin-top: 14px;
    font-size: .85rem;
    color: var(--red);
    text-align: center
}

.spec-count {
    margin-top: 14px;
    font-size: .78rem;
    color: var(--muted);
    text-align: right
}

    .spec-count strong {
        color: var(--blue)
    }

/* ---------- PRODUCTS AVAILABLE ---------- */
.avail-title {
    font-size: 1.3rem;
    margin: 44px 0 20px;
    color: var(--text)
}

.prow-grid {
    display: grid;
    gap: 24px
}

.prow-card {
    display: grid;
    grid-template-columns: 300px 1fr;
    background: #fff;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(13,14,16,.07);
    border: 1.5px solid #ECE9E3;
    transition: .35s
}

    .prow-card:hover {
        box-shadow: var(--shadow);
        border-color: rgba(232,135,47,.5)
    }

.prow-thumb svg {
    width: 100%;
    height: 100%;
    min-height: 190px;
    display: block
}

.prow-body {
    padding: 26px 30px
}

.prow-silver {
    display: inline-block;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 6px 14px;
    border-radius: 50px;
    margin-bottom: 10px
}

.s0 {
    background: rgba(169,178,186,.18);
    color: #6E7A84
}

.s2 {
    background: rgba(233,162,59,.16);
    color: var(--amber-d)
}

.scu {
    background: rgba(217,83,47,.1);
    color: var(--red)
}

.prow-body h4 {
    font-size: 1.08rem;
    margin-bottom: 10px
}

.prow-body p {
    font-size: .87rem;
    color: var(--muted);
    margin-bottom: 10px
}

.prow-body strong {
    color: var(--text)
}

.prow-apps {
    font-size: .82rem;
    color: var(--muted);
    background: var(--light);
    border-left: 3px solid var(--orange);
    padding: 11px 15px;
    border-radius: 8px;
    margin-bottom: 12px
}

    .prow-apps strong {
        color: var(--orange)
    }

/* forms chips */
.mini-warn {
    margin-top: 10px;
    background: #FDF0EC;
    border-left: 3px solid var(--red);
    padding: 9px 13px;
    border-radius: 8px;
    font-size: .78rem;
    color: #7C3A32
}

/* ---------- FORMS AVAILABLE ---------- */
.forms {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
    margin: 8px 0 10px
}

.forms-label {
    font-weight: 600;
    font-size: .9rem;
    color: var(--text)
}

.form-chip {
    background: #fff;
    border: 1.5px solid #E4E1DB;
    border-radius: 50px;
    padding: 10px 22px;
    font-size: .86rem;
    font-weight: 600;
    transition: .3s;
    box-shadow: 0 4px 12px rgba(13,14,16,.05)
}

    .form-chip:hover {
        border-color: var(--orange);
        color: var(--orange);
        transform: translateY(-3px)
    }

/* ---------- RESPONSIVE ---------- */
@media(max-width:992px) {
    .prow-card {
        grid-template-columns: 1fr
    }

    .prow-thumb svg {
        min-height: 170px
    }

    .spec {
        padding: 22px 16px
    }

    .spec-filter {
        width: 100%
    }

    .type-block {
        gap: 30px
    }
}

@media(max-width:600px) {
    .spec-head {
        flex-direction: column;
        align-items: stretch
    }

    .tp {
        min-width: 100%
    }
}
/* ============================================================
   VIBHA INTERNATIONAL — flux.css (Brazing Flux page)
   Extends product.css · logo color system
============================================================ */

/* ---------- FLUX PRODUCT CARDS ---------- */
.flux-card {
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 8px 24px rgba(13,14,16,.07);
    border: 1.5px solid #ECE9E3;
    padding: 32px;
    margin-bottom: 26px;
    transition: .35s;
    border-top: 4px solid transparent;
    position: relative;
    overflow: hidden
}

    .flux-card:hover {
        box-shadow: var(--shadow);
        transform: translateY(-4px)
    }

.f-amber {
    border-top-color: var(--amber)
}

.f-blue {
    border-top-color: var(--blue)
}

.f-green {
    border-top-color: var(--green)
}

.f-purple {
    border-top-color: var(--purple)
}

.flux-head {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    margin-bottom: 22px
}

.flux-ico {
    width: 64px;
    height: 64px;
    flex-shrink: 0;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center
}

    .flux-ico svg {
        width: 32px;
        height: 32px;
        fill: none;
        stroke-width: 1.8;
        stroke-linecap: round;
        stroke-linejoin: round
    }

.f-amber .flux-ico {
    background: rgba(233,162,59,.14)
}

    .f-amber .flux-ico svg {
        stroke: var(--amber-d)
    }

.f-blue .flux-ico {
    background: rgba(46,111,168,.1)
}

    .f-blue .flux-ico svg {
        stroke: var(--blue)
    }

.f-green .flux-ico {
    background: rgba(62,162,75,.12)
}

    .f-green .flux-ico svg {
        stroke: var(--green)
    }

.f-purple .flux-ico {
    background: rgba(124,95,168,.1)
}

    .f-purple .flux-ico svg {
        stroke: var(--purple)
    }

.flux-tag {
    display: inline-block;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 5px 14px;
    border-radius: 50px;
    margin-bottom: 8px
}

.ft-amber {
    background: rgba(233,162,59,.14);
    color: var(--amber-d)
}

.ft-blue {
    background: rgba(46,111,168,.1);
    color: var(--blue)
}

.ft-green {
    background: rgba(62,162,75,.12);
    color: var(--green-d)
}

.ft-purple {
    background: rgba(124,95,168,.1);
    color: var(--purple)
}

.flux-head h3 {
    font-size: 1.35rem;
    margin-bottom: 6px
}

.f-amber h3 {
    color: var(--amber-d)
}

.f-blue h3 {
    color: var(--blue)
}

.f-green h3 {
    color: var(--green-d)
}

.f-purple h3 {
    color: var(--purple)
}

.flux-line {
    font-size: .9rem;
    color: var(--muted)
}

    .flux-line strong {
        color: var(--text)
    }

.flux-body {
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    gap: 30px
}

.flux-col h4 {
    font-size: .95rem;
    margin: 16px 0 10px;
    color: var(--text)
}

    .flux-col h4:first-child {
        margin-top: 0
    }

.flux-list {
    list-style: none;
    padding: 0;
    display: grid;
    gap: 8px
}

    .flux-list li {
        position: relative;
        padding-left: 28px;
        font-size: .87rem;
        color: var(--muted)
    }

        .flux-list li::before {
            content: "›";
            position: absolute;
            left: 0;
            top: 0;
            width: 19px;
            height: 19px;
            background: var(--grad-orange);
            color: #fff;
            border-radius: 6px;
            font-size: .78rem;
            font-weight: 700;
            display: flex;
            align-items: center;
            justify-content: center
        }

.f-green .flux-list li::before {
    background: linear-gradient(135deg,var(--green),var(--green-d))
}

.f-purple .flux-list li::before {
    background: linear-gradient(135deg,var(--purple),var(--purple-d))
}

.f-blue .flux-list li::before {
    background: var(--grad-blue)
}

.flux-note {
    font-size: .86rem;
    color: var(--muted);
    background: var(--light);
    border-left: 3px solid var(--blue);
    padding: 11px 15px;
    border-radius: 8px;
    margin-bottom: 12px
}

    .flux-note strong {
        color: var(--text)
    }

/* Activity range bar (scale 400–1150 ℃) */
.range-bar {
    position: relative;
    height: 12px;
    border-radius: 20px;
    margin: 8px 0 6px;
    background: linear-gradient(90deg,var(--green) 0%,var(--amber) 50%,var(--red) 100%);
    opacity: .25
}

    .range-bar span {
        position: absolute;
        top: -3px;
        height: 18px;
        border-radius: 20px;
        background: var(--grad-dark);
        box-shadow: 0 3px 8px rgba(13,14,16,.35)
    }

.range-val {
    font-family: 'Oswald',sans-serif;
    font-weight: 600;
    font-size: 1.05rem;
    color: var(--text);
    margin-bottom: 12px
}

.flux-thumb {
    width: 100%;
    height: auto;
    border-radius: 12px;
    display: block;
    box-shadow: 0 6px 18px rgba(13,14,16,.12)
}

/* ---------- SAFETY NOTE ---------- */
.safety {
    max-width: 860px;
    margin: 30px auto 0;
    background: #FDF0EC;
    border-left: 4px solid var(--red);
    border-radius: 12px;
    padding: 18px 22px;
    font-size: .9rem;
    color: #7C3A32
}

    .safety strong {
        color: var(--red-d)
    }

/* data-table first column left aligned for comparison table */
#compare .data-table tbody td:first-child {
    font-weight: 600;
    color: var(--orange);
    text-align: left
}

/* ---------- RESPONSIVE ---------- */
@media(max-width:900px) {
    .flux-body {
        grid-template-columns: 1fr
    }

    .flux-head {
        flex-direction: column
    }
}

@media(max-width:600px) {
    .flux-card {
        padding: 24px 20px
    }
}
/* ============================================================
   VIBHA INTERNATIONAL — chem.css (Metal Cleaning Chemical page)
   Extends product.css · logo color system
============================================================ */

/* ---------- INTRO PRODUCT MINI-LIST ---------- */
.prod-mini {
    list-style: none;
    padding: 0;
    margin: 18px 0;
    display: grid;
    gap: 9px
}

    .prod-mini li {
        padding: 12px 18px;
        border-radius: 12px;
        font-size: .9rem;
        background: var(--light)
    }

    .prod-mini strong {
        display: inline;
        margin-right: 6px
    }

.pm-green {
    border-left: 4px solid var(--green)
}

    .pm-green strong {
        color: var(--green-d)
    }

.pm-blue {
    border-left: 4px solid var(--blue)
}

    .pm-blue strong {
        color: var(--blue-d)
    }

.pm-amber {
    border-left: 4px solid var(--amber)
}

    .pm-amber strong {
        color: var(--amber-d)
    }

.pm-red {
    border-left: 4px solid var(--red)
}

    .pm-red strong {
        color: var(--red-d)
    }

.intro-note {
    font-size: .9rem;
    color: var(--muted)
}

/* ---------- CHEM PRODUCT BLOCKS ---------- */
.chem-block {
    display: grid;
    grid-template-columns: 1.35fr 1fr;
    gap: 48px;
    align-items: start;
    background: #fff;
    border-radius: 22px;
    padding: 40px;
    box-shadow: 0 8px 24px rgba(13,14,16,.07);
    border: 1.5px solid #ECE9E3;
    border-top: 4px solid var(--green)
}

    .chem-block.tb-rev {
        border-top-color: var(--blue)
    }

#solclean-ac .chem-block {
    border-top-color: var(--amber)
}

#eniroof .chem-block {
    border-top-color: var(--purple)
}

.tb-rev .chem-text {
    order: 2
}

.tb-rev .chem-side {
    order: 1
}

.chem-text p {
    font-size: .92rem;
    color: var(--muted);
    margin-bottom: 13px
}

.chem-text strong {
    color: var(--text)
}

.ac-bonus {
    background: rgba(46,111,168,.08);
    border-left: 3px solid var(--blue);
    padding: 11px 15px;
    border-radius: 8px;
    color: var(--blue-d) !important;
    font-weight: 500
}

/* Application method box */
.apply-box {
    background: var(--light);
    border-radius: 14px;
    padding: 20px 22px;
    margin: 18px 0;
    border-left: 4px solid var(--green)
}

.ab-red {
    border-left-color: var(--purple)
}

.apply-box h4 {
    font-size: .95rem;
    margin-bottom: 8px;
    color: var(--text)
}

.apply-box p {
    font-size: .86rem;
    margin-bottom: 8px
}

    .apply-box p:last-child {
        margin-bottom: 0
    }

/* Feature chips row */
.feat-row {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 16px
}

    .feat-row span {
        background: rgba(62,162,75,.1);
        color: var(--green-d);
        font-size: .78rem;
        font-weight: 600;
        padding: 8px 14px;
        border-radius: 50px
    }

.tb-rev .feat-row span {
    background: rgba(46,111,168,.08);
    color: var(--blue-d)
}

#solclean-ac .feat-row span {
    background: rgba(233,162,59,.13);
    color: var(--amber-d)
}

#eniroof .feat-row span {
    background: rgba(124,95,168,.1);
    color: var(--purple-d)
}

/* ---------- SIDE: IMAGE + BENEFITS PANEL ---------- */
.chem-side {
    display: grid;
    gap: 22px
}

.chem-img {
    background: var(--grad-dark);
    border-radius: 18px;
    padding: 18px;
    text-align: center;
    box-shadow: var(--shadow)
}

    .chem-img svg {
        width: 150px;
        height: auto;
        display: block;
        margin: auto
    }

.ben-panel {
    border-radius: 16px;
    padding: 24px 26px;
    border: 1.5px solid #ECE9E3;
    background: var(--light)
}

    .ben-panel h4 {
        font-size: .98rem;
        margin-bottom: 14px;
        display: flex;
        align-items: center;
        gap: 8px
    }

        .ben-panel h4::before {
            content: "";
            width: 26px;
            height: 3px;
            border-radius: 3px;
            background: currentColor
        }

    .ben-panel ul {
        list-style: none;
        padding: 0;
        display: grid;
        gap: 8px
    }

    .ben-panel li {
        position: relative;
        padding-left: 28px;
        font-size: .86rem;
        color: var(--text)
    }

        .ben-panel li::before {
            content: "✔";
            position: absolute;
            left: 0;
            top: 1px;
            width: 19px;
            height: 19px;
            border-radius: 6px;
            font-size: .66rem;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #fff;
            font-weight: 700
        }

.bp-green h4 {
    color: var(--green-d)
}

.bp-green li::before {
    background: var(--green)
}

.bp-blue h4 {
    color: var(--blue-d)
}

.bp-blue li::before {
    background: var(--blue)
}

.bp-amber h4 {
    color: var(--amber-d)
}

.bp-amber li::before {
    background: var(--amber-d)
}

.bp-purple h4 {
    color: var(--purple-d)
}

.bp-purple li::before {
    background: var(--purple)
}

/* ---------- TRUST STRIP ---------- */
.trust-strip {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(230px,1fr));
    gap: 16px;
    margin-top: 34px
}

.ts-item {
    background: #fff;
    border: 1.5px solid #ECE9E3;
    border-radius: 14px;
    padding: 18px 20px;
    font-size: .86rem;
    font-weight: 500;
    text-align: center;
    transition: .3s;
    box-shadow: 0 4px 12px rgba(13,14,16,.05)
}

    .ts-item:hover {
        transform: translateY(-5px);
        box-shadow: var(--shadow);
        border-color: var(--green)
    }

    .ts-item strong {
        color: var(--green);
        margin-right: 6px
    }

/* ---------- RESPONSIVE ---------- */
@media(max-width:992px) {
    .chem-block {
        grid-template-columns: 1fr;
        gap: 32px;
        padding: 28px 22px
    }

    .tb-rev .chem-text {
        order: 1
    }

    .tb-rev .chem-side {
        order: 2
    }

    .chem-side {
        grid-template-columns: 1fr
    }

    .chem-img svg {
        width: 120px
    }
}
/* ============================================================
   VIBHA INTERNATIONAL — faq.css (Brazing FAQ page)
   Extends product.css · logo color system
============================================================ */

/* ---------- WHAT IS BRAZING EXPLAINER ---------- */
.wb-intro {
    background: #fff;
    padding: 95px 0
}

.wb-grid {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 60px;
    align-items: center
}

.wb-text h2 {
    font-size: clamp(1.7rem,3vw,2.4rem);
    margin-bottom: 18px
}

    .wb-text h2 span {
        color: var(--blue)
    }

.wb-text p {
    color: var(--muted);
    font-size: .95rem;
    margin-bottom: 14px
}

.wb-text strong {
    color: var(--text)
}

.wb-points {
    list-style: none;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin: 20px 0 8px
}

    .wb-points li {
        display: flex;
        gap: 9px;
        align-items: flex-start;
        font-size: .86rem;
        font-weight: 500
    }

    .wb-points svg {
        width: 19px;
        height: 19px;
        flex-shrink: 0;
        stroke: var(--green);
        fill: none;
        stroke-width: 2.6;
        margin-top: 3px
    }

.wb-visual svg {
    width: 100%;
    height: auto;
    border-radius: 20px;
    box-shadow: var(--shadow);
    display: block
}

.wb-caption {
    display: block;
    text-align: center;
    font-size: .8rem;
    color: var(--muted);
    margin-top: 12px;
    font-style: italic
}

/* ---------- FEATURED Q&A ---------- */
.wb-featured {
    background: var(--light);
    padding: 70px 0
}

.feat-qa {
    max-width: 820px;
    margin: auto;
    background: #fff;
    border-radius: 22px;
    padding: 44px 46px;
    box-shadow: var(--shadow);
    border-left: 5px solid var(--orange);
    position: relative
}

.fqa-badge {
    display: inline-block;
    background: rgba(232,135,47,.13);
    color: var(--orange);
    font-weight: 700;
    font-size: .72rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 7px 18px;
    border-radius: 50px;
    margin-bottom: 16px
}

.feat-qa h2 {
    font-size: clamp(1.4rem,2.6vw,1.9rem);
    margin-bottom: 14px
}

.feat-qa p {
    color: var(--muted);
    font-size: .97rem
}

.feat-qa strong {
    color: var(--text)
}

/* ---------- COMPARISON ---------- */
.wb-compare {
    background: #fff;
    padding: 85px 0
}

.cmp-table {
    min-width: 640px
}

    .cmp-table tbody td:first-child {
        font-weight: 600;
        color: var(--blue-d);
        text-align: left
    }

    .cmp-table thead th.c-weld {
        background: var(--red)
    }

    .cmp-table thead th.c-braze {
        background: var(--orange)
    }

    .cmp-table thead th.c-solder {
        background: var(--blue)
    }

.strong-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(280px,1fr));
    gap: 22px;
    margin-top: 36px
}

.strong-card {
    background: var(--light);
    border-radius: 18px;
    padding: 30px 28px;
    border-top: 4px solid transparent;
    transition: .35s
}

    .strong-card:hover {
        transform: translateY(-6px);
        box-shadow: var(--shadow)
    }

.sc-green {
    border-top-color: var(--green)
}

    .sc-green h3 {
        color: var(--green-d)
    }

.sc-blue {
    border-top-color: var(--blue)
}

    .sc-blue h3 {
        color: var(--blue-d)
    }

.sc-orange {
    border-top-color: var(--orange)
}

    .sc-orange h3 {
        color: var(--orange)
    }

.strong-card h3 {
    font-size: 1.05rem;
    margin-bottom: 10px
}

.strong-card p {
    font-size: .87rem;
    color: var(--muted)
}

.strong-card strong {
    color: var(--text)
}

/* ---------- FAQ LIST ---------- */
.wb-faqs {
    background: var(--light);
    padding: 85px 0
}

.container-narrow {
    width: min(780px,92%);
    margin: auto
}

.fq-filters {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 30px
}

.fq-filter {
    padding: 9px 22px;
    border-radius: 50px;
    border: 1.5px solid #E4E1DB;
    background: #fff;
    font-family: 'Poppins',sans-serif;
    font-size: .82rem;
    font-weight: 600;
    color: var(--muted);
    cursor: pointer;
    transition: .3s
}

    .fq-filter:hover {
        border-color: var(--orange);
        color: var(--orange)
    }

    .fq-filter.active {
        background: var(--grad-orange);
        color: #fff;
        border-color: transparent;
        box-shadow: 0 6px 16px rgba(217,83,47,.3)
    }

.faq-item {
    background: #fff;
    border: 1.5px solid #E8E6E1;
    border-radius: 14px;
    margin-bottom: 13px;
    overflow: hidden;
    transition: .3s
}

    .faq-item.open {
        border-color: var(--orange);
        box-shadow: var(--shadow)
    }

.faq-q {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    background: none;
    border: none;
    padding: 19px 24px;
    font-family: 'Poppins',sans-serif;
    font-size: .95rem;
    font-weight: 600;
    color: var(--text);
    cursor: pointer;
    text-align: left
}

    .faq-q b {
        color: var(--orange);
        flex-shrink: 0
    }

    .faq-q .chev {
        color: var(--orange);
        transition: .3s;
        flex-shrink: 0
    }

.faq-item.open .chev {
    transform: rotate(180deg)
}

.faq-a {
    max-height: 0;
    overflow: hidden;
    transition: max-height .4s ease
}

    .faq-a p {
        padding: 0 24px 20px;
        font-size: .88rem;
        color: var(--muted)
    }

    .faq-a strong {
        color: var(--text)
    }

.faq-item.cat-hidden {
    display: none
}

.fq-empty {
    text-align: center;
    color: var(--muted);
    font-size: .9rem;
    padding: 30px 0
}

/* ---------- RESPONSIVE ---------- */
@media(max-width:900px) {
    .wb-grid {
        grid-template-columns: 1fr;
        gap: 50px
    }
}

@media(max-width:600px) {
    .wb-intro, .wb-compare, .wb-faqs {
        padding: 60px 0
    }

    .wb-points {
        grid-template-columns: 1fr
    }

    .feat-qa {
        padding: 30px 24px
    }
}
/* ---------- PAGE BANNER ---------- */
.page-banner {
    position: relative;
    padding: 110px 0 80px;
    background: var(--grad-dark);
    text-align: center;
    overflow: hidden
}

    .page-banner::before {
        content: "";
        position: absolute;
        inset: 0;
        opacity: .35;
        background: radial-gradient(circle at 15% 20%,rgba(124,95,168,.55),transparent 45%), radial-gradient(circle at 85% 80%,rgba(232,135,47,.5),transparent 45%), url('https://images.unsplash.com/photo-1533630217389-3ac06cc8b3a1?auto=format&fit=crop&w=1600&q=60') center/cover
    }

    .page-banner .container {
        position: relative;
        z-index: 2
    }

.pb-tag {
    display: inline-block;
    background: rgba(233,162,59,.15);
    border: 1px solid rgba(233,162,59,.5);
    color: var(--amber);
    padding: 6px 18px;
    border-radius: 50px;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    margin-bottom: 16px
}

.page-banner h1 {
    color: #fff;
    font-size: clamp(2.1rem,4.5vw,3.2rem);
    font-weight: 800;
    margin-bottom: 10px
}

    .page-banner h1 span {
        color: transparent;
        background: linear-gradient(90deg,var(--orange),var(--amber));
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent
    }

.breadcrumb {
    color: var(--silver);
    font-size: .88rem
}

    .breadcrumb a {
        color: var(--amber);
        font-weight: 500
    }

        .breadcrumb a:hover {
            color: #fff
        }

    .breadcrumb i {
        font-style: normal;
        margin: 0 8px;
        color: var(--orange)
    }

    .breadcrumb .current {
        color: #fff
    }

/* ---------- INTRO + FOUNDER ---------- */
.ab-intro {
    background: #fff;
    padding: 100px 0
}

.ab-grid {
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: 70px;
    align-items: center
}

.ab-visual {
    position: relative
}
    /* Decorative offset frames (purple top-left / orange bottom-right — logo tiles) */
    .ab-visual::before {
        content: "";
        position: absolute;
        top: -22px;
        left: -22px;
        width: 60%;
        height: 60%;
        border-radius: 26px;
        border: 3px solid var(--purple);
        z-index: 1
    }

    .ab-visual::after {
        content: "";
        position: absolute;
        bottom: -22px;
        right: -22px;
        width: 60%;
        height: 60%;
        border-radius: 26px;
        border: 3px solid var(--orange);
        z-index: 1
    }

.ab-img-frame {
    position: relative;
    border-radius: 22px;
    overflow: hidden;
    box-shadow: var(--shadow);
    z-index: 2
}

    .ab-img-frame img {
        width: 100%;
        height: 480px;
        object-fit: cover;
        display: block
    }

    .ab-img-frame::before {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(160deg,rgba(46,111,168,.28),transparent 55%,rgba(217,83,47,.28))
    }

.ab-badge {
    position: absolute;
    bottom: -26px;
    right: 30px;
    z-index: 3;
    background: var(--grad-blue);
    color: #fff;
    padding: 22px 28px;
    border-radius: 18px;
    text-align: center;
    box-shadow: 0 15px 35px rgba(46,111,168,.4)
}

    .ab-badge strong {
        font-family: 'Oswald',sans-serif;
        font-size: 2.2rem;
        display: block;
        line-height: 1
    }

    .ab-badge span {
        font-size: .72rem;
        letter-spacing: 1.5px;
        text-transform: uppercase
    }

.ab-content h2 {
    font-size: clamp(1.7rem,3vw,2.4rem);
    line-height: 1.25;
    margin-bottom: 20px
}

    .ab-content h2 span {
        color: var(--blue)
    }

.ab-content p {
    color: var(--muted);
    font-size: .95rem;
    margin-bottom: 16px
}

.ab-content strong {
    color: var(--text)
}

/* Founder signature block */
.founder {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-top: 30px;
    padding: 22px 26px;
    background: var(--light);
    border-radius: 16px;
    border-left: 4px solid var(--blue)
}

.founder-avatar {
    width: 64px;
    height: 64px;
    flex-shrink: 0;
    border-radius: 50%;
    background: var(--grad-dark);
    color: var(--amber);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Oswald',sans-serif;
    font-size: 1.4rem;
    letter-spacing: 1px;
    border: 3px solid var(--silver)
}

.signature {
    font-family: 'Kaushan Script',cursive;
    font-size: 2rem;
    line-height: 1.1;
    color: var(--blue-d)
}
/* ink-blue handwritten signature */
.founder-meta strong {
    display: block;
    font-size: .92rem;
    margin-top: 2px
}

.founder-meta small {
    color: var(--muted);
    font-size: .78rem;
    letter-spacing: .5px
}

/* ---------- MISSION / VISION / STRATEGY ---------- */
.mvs {
    background: var(--light)
}

.mvs-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(290px,1fr));
    gap: 26px
}

.mvs-card {
    background: #fff;
    border-radius: 20px;
    padding: 38px 30px;
    box-shadow: var(--shadow);
    border-top: 4px solid transparent;
    transition: .4s;
    position: relative;
    overflow: hidden
}

    .mvs-card::after {
        content: "";
        position: absolute;
        right: -40px;
        bottom: -40px;
        width: 150px;
        height: 150px;
        border-radius: 50%;
        opacity: .07;
        transition: .4s
    }

    .mvs-card:hover {
        transform: translateY(-10px)
    }

        .mvs-card:hover::after {
            opacity: .16
        }

.mvs-icon {
    width: 76px;
    height: 76px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px
}

    .mvs-icon svg {
        width: 38px;
        height: 38px;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.8;
        stroke-linecap: round;
        stroke-linejoin: round
    }

.mvs-kicker {
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: var(--muted)
}

.mvs-card h3 {
    font-size: 1.25rem;
    margin: 4px 0 12px
}

.mvs-card p {
    font-size: .88rem;
    color: var(--muted)
}

.m-blue {
    border-top-color: var(--blue)
}

    .m-blue .mvs-icon {
        background: rgba(46,111,168,.12);
        color: var(--blue)
    }

    .m-blue::after {
        background: var(--blue)
    }

    .m-blue h3 {
        color: var(--blue)
    }

.m-green {
    border-top-color: var(--green)
}

    .m-green .mvs-icon {
        background: rgba(62,162,75,.12);
        color: var(--green)
    }

    .m-green::after {
        background: var(--green)
    }

    .m-green h3 {
        color: var(--green)
    }

.m-orange {
    border-top-color: var(--orange)
}

    .m-orange .mvs-icon {
        background: rgba(232,135,47,.14);
        color: var(--orange)
    }

    .m-orange::after {
        background: var(--orange)
    }

    .m-orange h3 {
        color: var(--orange)
    }

.mvs-cta {
    text-align: center;
    margin-top: 44px
}

/* ---------- HISTORY TIMELINE ---------- */
.history {
    background: #fff;
    position: relative;
    overflow: hidden
}

    .history::before {
        content: "";
        position: absolute;
        left: -120px;
        top: 20%;
        width: 340px;
        height: 340px;
        border-radius: 50%;
        background: radial-gradient(circle,rgba(62,162,75,.1),transparent 70%)
    }

.tl {
    position: relative;
    max-width: 960px;
    margin: auto;
    padding: 20px 0
}
    /* Gradient spine — 4 logo colors flowing down the line */
    .tl::before {
        content: "";
        position: absolute;
        left: 50%;
        top: 0;
        bottom: 0;
        width: 4px;
        transform: translateX(-50%);
        border-radius: 4px;
        background: linear-gradient(180deg,var(--purple),var(--amber),var(--red),var(--green))
    }

.tl-item {
    position: relative;
    width: 50%;
    padding: 0 46px 44px
}

    .tl-item:nth-child(odd) {
        left: 0;
        text-align: right
    }

    .tl-item:nth-child(even) {
        left: 50%;
        text-align: left
    }

.tl-dot {
    position: absolute;
    top: 10px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #fff;
    z-index: 2
}

.tl-item:nth-child(odd) .tl-dot {
    right: -9px
}

.tl-item:nth-child(even) .tl-dot {
    left: -9px
}

.td-blue {
    border: 5px solid var(--blue)
}

.td-amber {
    border: 5px solid var(--amber)
}

.td-red {
    border: 5px solid var(--red)
}

.td-green {
    border: 5px solid var(--green)
}

.td-purple {
    border: 5px solid var(--purple)
}

.tl-card {
    background: var(--light);
    border-radius: 16px;
    padding: 24px 26px;
    text-align: left;
    display: inline-block;
    box-shadow: 0 8px 24px rgba(13,14,16,.07);
    transition: .4s
}

    .tl-card:hover {
        transform: translateY(-6px);
        box-shadow: var(--shadow)
    }

.tl-year {
    font-family: 'Oswald',sans-serif;
    font-weight: 600;
    font-size: .85rem;
    letter-spacing: 2px;
    color: #fff;
    display: inline-block;
    padding: 4px 14px;
    border-radius: 50px;
    margin-bottom: 10px
}

.tl-item:nth-child(1) .tl-year {
    background: var(--blue)
}

.tl-item:nth-child(2) .tl-year {
    background: var(--amber-d)
}

.tl-item:nth-child(3) .tl-year {
    background: var(--red)
}

.tl-item:nth-child(4) .tl-year {
    background: var(--green-d)
}

.tl-item:nth-child(5) .tl-year {
    background: var(--purple)
}

.tl-card h3 {
    font-size: 1.05rem;
    margin-bottom: 8px
}

.tl-card p {
    font-size: .85rem;
    color: var(--muted)
}

/* ---------- SCROLL REVEAL ANIMATION ---------- */
.reveal {
    opacity: 0;
    transform: translateY(34px);
    transition: opacity .7s ease,transform .7s ease
}

    .reveal.in-view {
        opacity: 1;
        transform: none
    }

    .reveal.d1 {
        transition-delay: .15s
    }

    .reveal.d2 {
        transition-delay: .3s
    }

/* ---------- RESPONSIVE ---------- */
@media(max-width:992px) {
    .ab-grid {
        grid-template-columns: 1fr;
        gap: 56px
    }

    .ab-img-frame img {
        height: 380px
    }
}

@media(max-width:768px) {
    .ab-intro {
        padding: 70px 0
    }

    .ab-badge {
        right: 16px;
        padding: 16px 22px
    }
    /* Timeline collapses to single left column */
    .tl::before {
        left: 14px;
        transform: none
    }

    .tl-item,
    .tl-item:nth-child(even),
    .tl-item:nth-child(odd) {
        width: 100%;
        left: 0;
        text-align: left;
        padding: 0 0 36px 48px
    }

        .tl-item:nth-child(odd) .tl-dot,
        .tl-item:nth-child(even) .tl-dot {
            left: 5px;
            right: auto
        }
}
:root {
    --purple: #7C5FA8;
    --purple-d: #5E4585;
    --amber: #E9A23B;
    --amber-d: #C9862A;
    --red: #D9532F;
    --red-d: #B8431F;
    --green: #3EA24B;
    --green-d: #2E7F39;
    --blue: #2E6FA8;
    --blue-d: #1F4F7A;
    --orange: #E8872F;
    --silver: #A9B2BA;
    --silver-l: #D8DEE3;
    --black: #0D0E10;
    --dark: #14161A;
    --dark-2: #1E2127;
    --dark-3: #272B33;
    --light: #F6F5F2;
    --white: #FFFFFF;
    --text: #2A2E33;
    --muted: #6B7280;
    --grad-blue: linear-gradient(135deg,#2E6FA8 0%,#1F4F7A 100%);
    --grad-orange: linear-gradient(135deg,#E8872F 0%,#D9532F 100%);
    --grad-dark: linear-gradient(135deg,#14161A 0%,#272B33 100%);
    --shadow: 0 15px 40px rgba(13,14,16,.12);
    --radius: 16px;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box
}

html {
    scroll-behavior: smooth
}

body {
    font-family: 'Poppins',sans-serif;
    color: var(--text);
    background: var(--white);
    overflow-x: hidden;
    line-height: 1.7
}

img {
    max-width: 100%
}

a {
    text-decoration: none;
    color: inherit
}

ul {
    list-style: none
}

.container {
    width: min(1200px,92%);
    margin: auto
}

section {
    padding: 80px 0
}

::selection {
    background: var(--amber);
    color: var(--black)
}

/* Signature 4-color strip (from logo tiles) */
.brand-strip {
    height: 6px;
    background: linear-gradient(90deg, var(--purple) 0 25%, var(--amber) 25% 50%, var(--red) 50% 75%, var(--green) 75% 100%)
}

/* ============ TOP BAR ============ */
.topbar {
    background: var(--black);
    color: var(--silver);
    font-size: .82rem;
    padding: 8px 0
}

    .topbar .container {
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-wrap: wrap;
        gap: 6px
    }

    .topbar a {
        font-weight: 500
    }

    .topbar .item {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        margin-right: 18px
    }

.tb-blue a {
    color: #7FB3DC
}

.tb-orange a {
    color: var(--amber)
}

/* ============ HEADER / NAV ============ */
header {
    position: sticky;
    top: 0;
    z-index: 999;
    background: var(--white);
    box-shadow: 0 4px 20px rgba(13,14,16,.08)
}

.nav-wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0
}

.logo {
    display: flex;
    align-items: center;
    gap: 12px; width:250px; height:auto;
}

.logo-mark {
    width: 54px;
    height: auto;
    flex-shrink: 0
}

.logo-text {
    display: flex;
    flex-direction: column;
    line-height: 1.15
}

.logo-name {
    font-family: 'Kaushan Script',cursive;
    font-size: 2rem;
    background: linear-gradient(120deg,#454B52,#8B949C 45%,#B9C1C8 55%,#565E66);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent
}

.logo-sub {
    font-family: 'Oswald',sans-serif;
    font-size: .7rem;
    letter-spacing: 5px;
    text-transform: uppercase;
    color: #7A848C
}

nav ul.main {
    display: flex;
    gap: 4px;
    align-items: center
}

nav a.nav-link {
    display: block;
    padding: 12px 15px;
    font-size: .9rem;
    font-weight: 500;
    color: var(--text);
    border-radius: 6px;
    transition: .3s
}

    nav a.nav-link:hover, nav a.nav-link.active {
        color: var(--blue)
    }

.has-drop {
    position: relative
}

    .has-drop > a::after {
        content: "▾";
        margin-left: 5px;
        font-size: .7rem;
        color: var(--orange)
    }

.dropdown {
    position: absolute;
    top: 115%;
    left: 0;
    min-width: 300px;
    background: var(--white);
    border-radius: 10px;
    box-shadow: var(--shadow);
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px);
    transition: .35s;
    padding: 10px 0;
    border-top: 3px solid var(--orange)
}

.has-drop:hover .dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0)
}

.dropdown a {
    display: block;
    padding: 9px 20px;
    font-size: .84rem;
    color: var(--muted);
    transition: .25s;
    border-left: 3px solid transparent
}

    .dropdown a:hover {
        background: var(--light);
        color: var(--blue);
        border-left-color: var(--orange);
        padding-left: 26px
    }

.btn-quote {
    background: var(--grad-orange);
    color: #fff !important;
    padding: 12px 26px !important;
    border-radius: 50px;
    font-weight: 600;
    box-shadow: 0 8px 20px rgba(217,83,47,.35);
    transition: .3s
}

    .btn-quote:hover {
        transform: translateY(-2px);
        box-shadow: 0 12px 26px rgba(217,83,47,.5)
    }

.hamburger {
    display: none;
    flex-direction: column;
    gap: 5px;
    cursor: pointer;
    background: none;
    border: none;
    padding: 6px
}

    .hamburger span {
        width: 26px;
        height: 3px;
        background: var(--text);
        border-radius: 3px;
        transition: .3s
    }

    .hamburger.active span:nth-child(1) {
        transform: translateY(8px) rotate(45deg)
    }

    .hamburger.active span:nth-child(2) {
        opacity: 0
    }

    .hamburger.active span:nth-child(3) {
        transform: translateY(-8px) rotate(-45deg)
    }

/* ============ BUTTONS ============ */
.btn {
    display: inline-block;
    padding: 14px 34px;
    border-radius: 50px;
    font-weight: 600;
    font-size: .9rem;
    transition: .35s;
    cursor: pointer;
    border: none
}

.btn-primary {
    background: var(--grad-blue);
    color: #fff;
    box-shadow: 0 10px 25px rgba(46,111,168,.4)
}

    .btn-primary:hover {
        transform: translateY(-3px)
    }

.btn-accent {
    background: var(--grad-orange);
    color: #fff;
    box-shadow: 0 10px 25px rgba(217,83,47,.4)
}

    .btn-accent:hover {
        transform: translateY(-3px)
    }

.btn-ghost {
    border: 2px solid rgba(255,255,255,.35);
    color: #fff
}

    .btn-ghost:hover {
        background: #fff;
        color: var(--dark)
    }

/* ============ HERO SLIDER ============ */
.hero {
    position: relative;
    height: 88vh;
    min-height: 560px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: var(--grad-dark)
}

.slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 1.2s ease;
    display: flex;
    align-items: center;
    background-size: cover;
    background-position: center
}

    .slide.active {
        opacity: 1
    }

    .slide::before {
        content: "";
        position: absolute;
        inset: 0;
        transition: .4s
    }
    /* Each slide gets a different logo-color tint: Blue / Orange / Purple */
    .slide:nth-child(1)::before {
        background: linear-gradient(100deg,rgba(13,14,16,.94) 30%,rgba(46,111,168,.55) 100%)
    }

    .slide:nth-child(2)::before {
        background: linear-gradient(100deg,rgba(13,14,16,.94) 30%,rgba(217,83,47,.5) 100%)
    }

    .slide:nth-child(3)::before {
        background: linear-gradient(100deg,rgba(13,14,16,.94) 30%,rgba(124,95,168,.55) 100%)
    }

    .slide .container {
        position: relative;
        z-index: 2
    }

.hero-tag {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(233,162,59,.45);
    color: var(--amber);
    padding: 7px 20px;
    border-radius: 50px;
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 22px
}

.hero h2 {
    font-size: clamp(2.2rem,5vw,3.8rem);
    color: #fff;
    font-weight: 800;
    line-height: 1.15;
    max-width: 720px
}

    .hero h2 em {
        font-style: normal;
        background: linear-gradient(90deg,var(--orange),var(--amber));
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent
    }

.hero p {
    color: var(--silver);
    max-width: 560px;
    margin: 20px 0 32px;
    font-size: 1.02rem
}

.hero-btns {
    display: flex;
    gap: 14px;
    flex-wrap: wrap
}

.dots {
    position: absolute;
    bottom: 28px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 10px;
    z-index: 5
}

    .dots button {
        width: 12px;
        height: 12px;
        border-radius: 50%;
        border: 2px solid var(--amber);
        background: transparent;
        cursor: pointer;
        transition: .3s
    }

        .dots button.active {
            background: var(--amber);
            width: 34px;
            border-radius: 20px
        }

.hero-info {
    position: absolute;
    right: 5%;
    bottom: 15%;
    z-index: 4;
    background: rgba(255,255,255,.07);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 16px;
    padding: 22px 28px;
    color: #fff;
    max-width: 280px
}

    .hero-info h4 {
        color: var(--amber);
        font-size: .8rem;
        text-transform: uppercase;
        letter-spacing: 2px;
        margin-bottom: 8px
    }

    .hero-info p {
        font-size: .9rem;
        margin: 0;
        color: #e8e8e8
    }

    .hero-info strong {
        color: #7FB3DC;
        font-size: 1.5rem
    }

/* ============ FEATURE STRIP (one card per logo color) ============ */
.features {
    margin-top: -60px;
    position: relative;
    z-index: 10;
    padding: 0 0 40px
}

.feature-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(240px,1fr));
    gap: 22px
}

.feature-card {
    background: var(--white);
    border-radius: var(--radius);
    padding: 34px 26px;
    box-shadow: var(--shadow);
    border-bottom: 4px solid transparent;
    transition: .4s;
    text-align: center
}

    .feature-card:hover {
        transform: translateY(-10px)
    }

.feature-icon {
    width: 74px;
    height: 74px;
    margin: 0 auto 18px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center
}

    .feature-icon svg {
        width: 36px;
        height: 36px;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.8;
        stroke-linecap: round;
        stroke-linejoin: round
    }

.feature-card h3 {
    font-size: 1.02rem;
    margin-bottom: 8px
}

.feature-card p {
    font-size: .83rem;
    color: var(--muted)
}

.f-purple .feature-icon {
    background: rgba(124,95,168,.12);
    color: var(--purple)
}

.f-purple:hover {
    border-bottom-color: var(--purple)
}

.f-amber .feature-icon {
    background: rgba(233,162,59,.14);
    color: var(--amber-d)
}

.f-amber:hover {
    border-bottom-color: var(--amber)
}

.f-green .feature-icon {
    background: rgba(62,162,75,.12);
    color: var(--green)
}

.f-green:hover {
    border-bottom-color: var(--green)
}

.f-red .feature-icon {
    background: rgba(217,83,47,.12);
    color: var(--red)
}

.f-red:hover {
    border-bottom-color: var(--red)
}

/* ============ SECTION HEADINGS ============ */
.sec-tag {
    display: inline-block;
    color: var(--blue);
    font-weight: 700;
    font-size: .8rem;
    letter-spacing: 3px;
    text-transform: uppercase;
    margin-bottom: 12px
}

    .sec-tag::before {
        content: "";
        display: inline-block;
        width: 34px;
        height: 2px;
        background: var(--orange);
        vertical-align: middle;
        margin-right: 10px
    }

.sec-tag-light {
    color: var(--amber)
}

.head-center {
    text-align: center;
    max-width: 640px;
    margin: 0 auto 55px
}

    .head-center h2 {
        font-size: clamp(1.8rem,3.2vw,2.5rem);
        margin-bottom: 14px
    }

    .head-center p {
        color: var(--muted)
    }

/* ============ ABOUT ============ */
.about {
    background: var(--light)
}

.about-grid {
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    gap: 60px;
    align-items: center
}

.about-visual {
    position: relative
}

.main-img {
    border-radius: 20px;
    box-shadow: var(--shadow);
    width: 100%;
    height: 420px;
    object-fit: cover;
    background: var(--grad-dark)
}

.about-badge {
    position: absolute;
    bottom: -24px;
    right: -14px;
    background: var(--grad-blue);
    color: #fff;
    padding: 26px 30px;
    border-radius: 18px;
    box-shadow: 0 15px 35px rgba(46,111,168,.4);
    text-align: center
}

    .about-badge strong {
        font-size: 2.4rem;
        display: block;
        line-height: 1
    }

    .about-badge span {
        font-size: .78rem;
        letter-spacing: 1px
    }

.about-text h2 {
    font-size: clamp(1.7rem,3vw,2.5rem);
    line-height: 1.25;
    margin-bottom: 18px
}

    .about-text h2 span {
        color: var(--blue)
    }

.about-text p {
    color: var(--muted);
    font-size: .95rem;
    margin-bottom: 14px
}

.about-points {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin: 24px 0 30px
}

    .about-points li {
        display: flex;
        gap: 10px;
        align-items: flex-start;
        font-size: .88rem;
        font-weight: 500
    }

    .about-points svg {
        width: 20px;
        height: 20px;
        flex-shrink: 0;
        stroke: var(--green);
        fill: none;
        stroke-width: 2.4;
        margin-top: 3px
    }

/* ============ WHY CHOOSE US ============ */
.why {
    background: var(--grad-dark);
    position: relative;
    overflow: hidden
}

    .why::after {
        content: "";
        position: absolute;
        width: 500px;
        height: 500px;
        border-radius: 50%;
        background: radial-gradient(circle,rgba(124,95,168,.28),transparent 70%);
        top: -160px;
        right: -120px
    }

    .why h2 {
        color: #fff;
        font-size: clamp(1.7rem,3vw,2.4rem);
        margin-bottom: 14px
    }

    .why .sub {
        color: var(--silver);
        max-width: 600px;
        margin-bottom: 50px
    }

.why-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
    position: relative;
    z-index: 2
}

.why-item {
    display: flex;
    gap: 20px;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.09);
    padding: 26px;
    border-radius: var(--radius);
    margin-bottom: 18px;
    transition: .35s
}

    .why-item:hover {
        background: rgba(46,111,168,.16);
        transform: translateX(8px)
    }

.why-num {
    font-family: 'Oswald',sans-serif;
    font-size: 1.9rem;
    font-weight: 600;
    line-height: 1;
    color: transparent;
    -webkit-text-stroke: 1.5px var(--orange)
}

.why-item h3 {
    color: #fff;
    font-size: 1.05rem;
    margin-bottom: 6px
}

.why-item p {
    color: var(--silver);
    font-size: .85rem
}

.bars h3 {
    color: #fff;
    font-size: 1.1rem;
    margin-bottom: 24px
}

.bar-row {
    margin-bottom: 26px
}

.bar-label {
    display: flex;
    justify-content: space-between;
    color: #fff;
    font-size: .86rem;
    font-weight: 500;
    margin-bottom: 9px
}

    .bar-label span {
        color: var(--amber);
        font-weight: 700
    }

.bar-track {
    height: 10px;
    background: rgba(255,255,255,.1);
    border-radius: 20px;
    overflow: hidden
}

.bar-fill {
    height: 100%;
    border-radius: 20px;
    width: 0;
    transition: width 1.6s cubic-bezier(.22,1,.36,1)
}

.bf-orange {
    background: linear-gradient(90deg,var(--orange),var(--red))
}

.bf-blue {
    background: linear-gradient(90deg,var(--blue),var(--green))
}

.bf-green {
    background: linear-gradient(90deg,var(--green),var(--purple))
}

.bf-purple {
    background: linear-gradient(90deg,var(--purple),var(--amber))
}

/* ============ STATS (one color per logo tile) ============ */
.stats {
    padding: 70px 0;
    background: var(--white)
}

.stat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(200px,1fr));
    gap: 24px
}

.stat-box {
    text-align: center;
    padding: 38px 20px;
    border-radius: 18px;
    background: var(--light);
    border: 1px solid #ECE9E3;
    transition: .4s;
    position: relative;
    overflow: hidden
}

    .stat-box::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 4px;
        background: linear-gradient(90deg,var(--purple),var(--amber),var(--red),var(--green))
    }

    .stat-box:hover {
        transform: translateY(-8px);
        box-shadow: var(--shadow)
    }

.stat-num {
    font-family: 'Oswald',sans-serif;
    font-size: 3rem;
    font-weight: 600
}

.s-purple {
    color: var(--purple)
}

.s-amber {
    color: var(--amber-d)
}

.s-red {
    color: var(--red)
}

.s-green {
    color: var(--green)
}

.stat-box p {
    font-weight: 600;
    color: var(--muted);
    font-size: .9rem
}

/* ============ PRODUCTS ============ */
.products {
    background: var(--light)
}

.prod-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(250px,1fr));
    gap: 26px
}

.prod-card {
    background: #fff;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: var(--shadow);
    transition: .45s
}

    .prod-card:hover {
        transform: translateY(-12px)
    }

.prod-thumb {
    height: 210px;
    position: relative;
    overflow: hidden
}

    .prod-thumb svg {
        width: 100%;
        height: 100%;
        display: block
    }

.prod-body {
    padding: 24px
}

.prod-cat {
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase
}

.cat-purple {
    color: var(--purple)
}

.cat-blue {
    color: var(--blue)
}

.cat-red {
    color: var(--red)
}

.cat-green {
    color: var(--green)
}

.prod-body h3 {
    font-size: 1.05rem;
    margin: 8px 0 10px
}

.prod-body p {
    font-size: .83rem;
    color: var(--muted);
    margin-bottom: 16px
}

.link-more {
    font-size: .82rem;
    font-weight: 600;
    color: var(--blue);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: .3s
}

    .link-more:hover {
        gap: 12px;
        color: var(--orange)
    }

/* ============ VIDEO BANNER ============ */
.video-banner {
    position: relative;
    padding: 110px 0;
    background: var(--grad-dark);
    text-align: center;
    overflow: hidden
}

    .video-banner::before {
        content: "";
        position: absolute;
        inset: 0;
        background: radial-gradient(circle at 50% 120%,rgba(232,135,47,.35),transparent 60%)
    }

    .video-banner .container {
        position: relative;
        z-index: 2
    }

.play-btn {
    width: 90px;
    height: 90px;
    margin: 0 auto 26px;
    border-radius: 50%;
    background: var(--grad-orange);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 0 0 0 rgba(217,83,47,.55);
    animation: pulse 2s infinite;
    transition: .3s
}

    .play-btn:hover {
        transform: scale(1.08)
    }

    .play-btn svg {
        width: 30px;
        height: 30px;
        fill: #fff;
        margin-left: 5px
    }

@keyframes pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(217,83,47,.55)
    }

    70% {
        box-shadow: 0 0 0 26px rgba(217,83,47,0)
    }

    100% {
        box-shadow: 0 0 0 0 rgba(217,83,47,0)
    }
}

.video-banner h2 {
    color: #fff;
    font-size: clamp(1.6rem,3vw,2.3rem);
    margin-bottom: 12px
}

.video-banner p {
    color: var(--silver);
    max-width: 520px;
    margin: 0 auto
}

.video-banner strong {
    color: var(--amber)
}

/* ============ TESTIMONIALS ============ */
.testi-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(290px,1fr));
    gap: 26px
}

.testi-card {
    background: #fff;
    border-radius: 18px;
    padding: 34px 28px;
    box-shadow: var(--shadow);
    position: relative;
    border-top: 4px solid var(--amber)
}

.t-blue {
    border-top-color: var(--blue)
}

.t-purple {
    border-top-color: var(--purple)
}

.t-green {
    border-top-color: var(--green)
}

.quote-mark {
    font-family: 'Kaushan Script',cursive;
    font-size: 4.5rem;
    line-height: .6;
    color: rgba(232,135,47,.22);
    display: block;
    margin-bottom: 14px
}

.stars {
    color: var(--amber);
    letter-spacing: 3px;
    margin-bottom: 12px
}

.testi-card p {
    font-size: .9rem;
    color: var(--muted);
    font-style: italic;
    margin-bottom: 20px
}

.testi-user {
    display: flex;
    align-items: center;
    gap: 14px
}

.avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700
}

.t-blue .avatar {
    background: var(--grad-blue)
}

.t-purple .avatar {
    background: linear-gradient(135deg,var(--purple),var(--purple-d))
}

.t-green .avatar {
    background: linear-gradient(135deg,var(--green),var(--green-d))
}

.testi-user strong {
    display: block;
    font-size: .92rem
}

.testi-user small {
    color: var(--muted);
    font-size: .78rem
}

/* ============ FAQ ============ */
.faq {
    background: var(--light)
}

.faq-list {
    max-width: 820px;
    margin: auto
}

.faq-item {
    background: #fff;
    border: 1px solid #E8E6E1;
    border-radius: 14px;
    margin-bottom: 14px;
    overflow: hidden;
    transition: .3s
}

    .faq-item.open {
        border-color: var(--blue);
        box-shadow: var(--shadow)
    }

.faq-q {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    background: none;
    border: none;
    padding: 20px 24px;
    font-family: 'Poppins',sans-serif;
    font-size: .98rem;
    font-weight: 600;
    color: var(--text);
    cursor: pointer;
    text-align: left
}

    .faq-q .chev {
        color: var(--blue);
        flex-shrink: 0;
        transition: .3s
    }

.faq-item.open .chev {
    transform: rotate(180deg)
}

.faq-a {
    max-height: 0;
    overflow: hidden;
    transition: max-height .4s ease
}

    .faq-a p {
        padding: 0 24px 20px;
        color: var(--muted);
        font-size: .9rem
    }

/* ============ QUOTE FORM ============ */
.quote {
    background: var(--white)
}

.quote-grid {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 55px;
    align-items: start
}

.quote-info h2 {
    font-size: clamp(1.7rem,3vw,2.4rem);
    margin-bottom: 18px
}

.quote-info p {
    color: var(--muted);
    margin-bottom: 26px;
    font-size: .95rem
}

.q-contact {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    margin-bottom: 22px
}

.q-icon {
    width: 52px;
    height: 52px;
    flex-shrink: 0;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center
}

    .q-icon svg {
        width: 24px;
        height: 24px;
        stroke: #fff;
        fill: none;
        stroke-width: 1.8;
        stroke-linecap: round;
        stroke-linejoin: round
    }

.qi-blue {
    background: var(--grad-blue)
}

.qi-orange {
    background: var(--grad-orange)
}

.qi-purple {
    background: linear-gradient(135deg,var(--purple),var(--purple-d))
}

.q-contact h4 {
    font-size: .95rem;
    margin-bottom: 2px
}

.q-contact p {
    margin: 0;
    font-size: .86rem
}

.q-contact a:hover {
    color: var(--blue)
}

.privacy-note {
    font-size: .78rem;
    color: var(--muted);
    background: var(--light);
    border-left: 3px solid var(--blue);
    padding: 12px 16px;
    border-radius: 8px;
    margin-top: 26px
}

.form-card {
    background: #fff;
    border-radius: 20px;
    padding: 38px;
    box-shadow: var(--shadow);
    border-top: 4px solid var(--orange)
}

    .form-card h3 {
        margin-bottom: 24px;
        font-size: 1.25rem
    }

        .form-card h3 span {
            color: var(--orange)
        }

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px
}

.form-group {
    margin-bottom: 18px
}

    .form-group label {
        display: block;
        font-size: .8rem;
        font-weight: 600;
        margin-bottom: 7px
    }

        .form-group label i {
            color: var(--red);
            font-style: normal
        }

    .form-group input, .form-group select, .form-group textarea {
        width: 100%;
        padding: 13px 16px;
        border: 1.5px solid #E4E1DB;
        border-radius: 10px;
        font-family: inherit;
        font-size: .88rem;
        transition: .3s;
        background: var(--light)
    }

        .form-group input:focus, .form-group select:focus, .form-group textarea:focus {
            outline: none;
            border-color: var(--blue);
            background: #fff;
            box-shadow: 0 0 0 4px rgba(46,111,168,.12)
        }

    .form-group textarea {
        resize: vertical;
        min-height: 110px
    }

.btn-submit {
    width: 100%;
    background: var(--grad-orange);
    color: #fff;
    padding: 15px;
    border: none;
    border-radius: 50px;
    font-size: .95rem;
    font-weight: 600;
    cursor: pointer;
    transition: .3s;
    font-family: inherit
}

    .btn-submit:hover {
        transform: translateY(-2px);
        box-shadow: 0 12px 26px rgba(217,83,47,.4)
    }

/* ============ FOOTER ============ */
footer {
    background: var(--dark);
    color: var(--silver);
    padding: 0 0 0
}

.foot-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1fr;
    gap: 44px;
    padding: 60px 0 55px
}

.logo-foot .logo-name {
    background: linear-gradient(120deg,#C9D0D6,#8B949C 50%,#E4E9ED);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent
}

.logo-foot .logo-sub {
    color: var(--silver)
}

.foot-logo p {
    font-size: .86rem;
    margin: 16px 0 20px
}

.socials {
    display: flex;
    gap: 10px
}

    .socials a {
        width: 38px;
        height: 38px;
        border-radius: 10px;
        background: rgba(255,255,255,.07);
        display: flex;
        align-items: center;
        justify-content: center;
        transition: .3s
    }

        .socials a:hover {
            background: var(--orange);
            transform: translateY(-4px)
        }

    .socials svg {
        width: 16px;
        height: 16px;
        fill: var(--silver)
    }

    .socials a:hover svg {
        fill: #fff
    }

footer h4 {
    color: #fff;
    font-size: 1rem;
    margin-bottom: 22px;
    position: relative;
    padding-bottom: 12px
}

    footer h4::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        width: 38px;
        height: 3px;
        border-radius: 3px
    }

.c-purple::after {
    background: var(--purple)
}

.c-amber::after {
    background: var(--amber)
}

.c-green::after {
    background: var(--green)
}

.foot-links li {
    margin-bottom: 11px
}

.foot-links a {
    font-size: .86rem;
    transition: .25s;
    display: inline-flex;
    align-items: center;
    gap: 8px
}

    .foot-links a::before {
        content: "›";
        color: var(--orange);
        font-weight: 700
    }

    .foot-links a:hover {
        color: var(--amber);
        transform: translateX(5px)
    }

.foot-contact li {
    display: flex;
    gap: 12px;
    margin-bottom: 16px;
    font-size: .86rem;
    align-items: flex-start
}

.foot-contact svg {
    width: 17px;
    height: 17px;
    stroke: var(--orange);
    fill: none;
    stroke-width: 1.8;
    flex-shrink: 0;
    margin-top: 4px;
    stroke-linecap: round;
    stroke-linejoin: round
}

.foot-contact strong {
    color: #fff;
    display: block;
    font-size: .82rem
}

.copyright {
    border-top: 1px solid rgba(255,255,255,.09);
    padding: 22px 0;
    font-size: .8rem;
    text-align: left
}

    .copyright strong {
        color: var(--amber)
    }

    .copyright a {
        color: var(--amber)
    }

/* ============ WHATSAPP FLOAT (brand green) ============ */
.wa-float {
    position: fixed;
    bottom: 26px;
    right: 26px;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: linear-gradient(135deg,var(--green),var(--green-d));
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 25px rgba(62,162,75,.4);
    z-index: 998;
    transition: .3s
}

    .wa-float:hover {
        transform: scale(1.1)
    }

    .wa-float svg {
        width: 28px;
        height: 28px;
        fill: #fff
    }

/* ============ RESPONSIVE ============ */
@media(max-width:992px) {
    .about-grid, .why-grid, .quote-grid {
        grid-template-columns: 1fr;
        gap: 40px
    }

    .foot-grid {
        grid-template-columns: 1fr 1fr
    }

    .hero-info {
        display: none
    }
}

@media(max-width:820px) {
    .hamburger {
        display: flex
    }

    nav ul.main {
        position: fixed;
        top: 0;
        right: -100%;
        width: min(320px,85%);
        height: 100vh;
        background: var(--dark);
        flex-direction: column;
        align-items: flex-start;
        padding: 90px 30px;
        gap: 6px;
        transition: .45s;
        overflow-y: auto;
        z-index: 1000
    }

        nav ul.main.open {
            right: 0
        }

    nav a.nav-link {
        color: #fff;
        width: 100%
    }

    .dropdown {
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        background: rgba(255,255,255,.05);
        box-shadow: none;
        display: none;
        border: none
    }

    .has-drop.open .dropdown {
        display: block
    }

    .dropdown a {
        color: var(--silver)
    }

    section {
        padding: 60px 0
    }

    .form-row {
        grid-template-columns: 1fr
    }

    .topbar-right {
        display: none
    }
}

@media(max-width:600px) {
    .foot-grid {
        grid-template-columns: 1fr
    }

    .about-points {
        grid-template-columns: 1fr
    }

    .hero {
        height: auto;
        min-height: 0;
        padding: 110px 0 120px
    }

    .logo-name {
        font-size: 1.6rem
    }
}
